{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "abbc2bde-83b8-4cd4-b000-288167f2fdf1",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "536c3786-b84c-435c-a6d2-f54860817751",
   "metadata": {},
   "outputs": [],
   "source": [
    "rs = pd.read_csv('srag_rs.csv', sep = ';', low_memory=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e0e9de24-6bac-4f25-bec0-eab1ed713e44",
   "metadata": {},
   "source": [
    "Vamos separar a coluna `CONDICOES` em diversas outras colunas."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "5a56969d-b126-44d0-b090-261280778c52",
   "metadata": {},
   "outputs": [],
   "source": [
    "cond = rs['CONDICOES']\n",
    "cond = cond.dropna()\n",
    "cond = cond.str.replace(', 4', ' 4')\n",
    "cond = cond.str.replace(', ', ',').str.split(',')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "09d41aa2-89fe-40da-9d43-97457f4741a7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Asm',\n",
       " 'Asma',\n",
       " 'Diabetes',\n",
       " 'Diabetes mellitu',\n",
       " 'Diabetes mellitus',\n",
       " 'Doença Cardiovascular Crônica',\n",
       " 'Doença Hematológica Crônic',\n",
       " 'Doença Hematológica Crônica',\n",
       " 'Doença Hepática Crônic',\n",
       " 'Doença Hepática Crônica',\n",
       " 'Doença Neurológica Crônic',\n",
       " 'Doença Neurológica Crônica',\n",
       " 'Doença Renal Crônic',\n",
       " 'Doença Renal Crônica',\n",
       " 'Doenças cardíacas crônicas',\n",
       " 'Doenças cardíacas crônicas descompensadas',\n",
       " 'Doenças renais crônicas em estágio avançado (graus 3 4 ou 5)',\n",
       " 'Doenças respiratórias crônicas descompensadas',\n",
       " 'Gestante',\n",
       " 'Gestante de alto risco',\n",
       " 'Imunodeficiênci',\n",
       " 'Imunodeficiência',\n",
       " 'Imunossupressão',\n",
       " 'Obesidad',\n",
       " 'Obesidade',\n",
       " 'Outra Pneumatopatia Crônic',\n",
       " 'Outra Pneumatopatia Crônica',\n",
       " 'Outro',\n",
       " 'Outros',\n",
       " 'Pneumatopatia Crônica',\n",
       " 'Portador de doenças cromossômicas ou estado de fragilidade imunológica',\n",
       " 'Puérpera',\n",
       " 'Puérpera (até 45 dias do parto)',\n",
       " 'Síndrome de Dow',\n",
       " 'Síndrome de Down'}"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cond_unique = set([c for l in cond for c in l])\n",
    "cond_unique"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "1df7e26a-b4dd-4e85-94ed-ee040d049ddd",
   "metadata": {},
   "outputs": [],
   "source": [
    "cond_to_col = {\n",
    "    'Doenças cardíacas crônicas' : 'CARDI',\n",
    "    'Doenças cardíacas crônicas descompensadas' : 'CARDI_DESCOMP',\n",
    "    \n",
    "    'Doença Cardiovascular Crônica' : 'CARDIOVASC',\n",
    "    \n",
    "    'Diabetes' : 'DIABETES',\n",
    "    'Diabetes mellitus' : 'MELLITUS',\n",
    "    'Diabetes mellitu' : 'MELLITUS',\n",
    "    \n",
    "    'Gestante' : 'GESTANTE',\n",
    "    'Gestante de alto risco' : 'GESTANTE_ALTO_RISCO',\n",
    "    \n",
    "    'Obesidade' : 'OBESIDADE',\n",
    "    'Obesidad' : 'OBESIDADE',\n",
    "    \n",
    "    'Puérpera' : 'PUERPERA',\n",
    "    'Puérpera (até 45 dias do parto)' : 'PUERPERA',\n",
    "    \n",
    "    'Síndrome de Down' : 'DOWN',\n",
    "    'Síndrome de Dow' : 'DOWN',\n",
    "    \n",
    "    'Outra Pneumatopatia Crônica' : 'PNEUMATOPATIA',\n",
    "    'Pneumatopatia Crônica' : 'PNEUMATOPATIA',\n",
    "    'Outra Pneumatopatia Crônic' : 'PNEUMATOPATIA',\n",
    "    \n",
    "    'Doença Hepática Crônica' : 'HEPATICA',\n",
    "    'Doença Hepática Crônic' : 'HEPATICA',    \n",
    "\n",
    "    'Imunodeficiência' : 'IMUNODEFICIENCIA',\n",
    "    'Imunodeficiênci' : 'IMUNODEFICIENCIA',\n",
    "    \n",
    "    'Doença Renal Crônica' : 'RENAL',\n",
    "    'Doença Renal Crônic' : 'RENAL',\n",
    "    'Doenças renais crônicas em estágio avançado (graus 3 4 ou 5)' : 'RENAL_AVANC',\n",
    "    \n",
    "    'Asma' : 'ASMA',\n",
    "    'Asm' : 'ASMA',\n",
    "    \n",
    "    'Doença Hematológica Crônica' : 'HEMATOLOGICA',\n",
    "    'Doença Hematológica Crônic' : 'HEMATOLOGICA',\n",
    "    \n",
    "    'Doença Neurológica Crônic' : 'NEUROLOGICA',\n",
    "    'Doença Neurológica Crônica' : 'NEUROLOGICA',\n",
    "    \n",
    "    'Portador de doenças cromossômicas ou estado de fragilidade imunológica' : 'CROMOSSOM_FRAG_IMUNO',\n",
    "    'Imunossupressão' : 'IMUNOSSUPRESSAO',\n",
    "    'Doenças respiratórias crônicas descompensadas' : 'RESP_DESCOMP',\n",
    "    \n",
    "    'Outros' : 'OUTROS',\n",
    "    'Outro' : 'OUTROS'\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "0867c27e-0faf-474e-838e-2fd8978363ee",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "cond_expanded = pd.DataFrame()\n",
    "cond_expanded.index = np.arange(len(cond.index))\n",
    "\n",
    "i = 0\n",
    "for l in cond:\n",
    "    for c in l:\n",
    "        cond_expanded.loc[i, cond_to_col[c]] = True\n",
    "    i = i + 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "545a1a66-3206-44ea-983b-4722245b1d45",
   "metadata": {},
   "outputs": [],
   "source": [
    "cond_expanded.index = cond.index\n",
    "cond_expanded = cond_expanded.reindex(range(rs.index[-1] + 1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "ceed6a63-31ff-4236-8d07-1d9f578189bb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CARDI</th>\n",
       "      <th>IMUNOSSUPRESSAO</th>\n",
       "      <th>RESP_DESCOMP</th>\n",
       "      <th>OBESIDADE</th>\n",
       "      <th>DIABETES</th>\n",
       "      <th>CARDIOVASC</th>\n",
       "      <th>MELLITUS</th>\n",
       "      <th>GESTANTE</th>\n",
       "      <th>CROMOSSOM_FRAG_IMUNO</th>\n",
       "      <th>OUTROS</th>\n",
       "      <th>...</th>\n",
       "      <th>PUERPERA</th>\n",
       "      <th>DOWN</th>\n",
       "      <th>HEPATICA</th>\n",
       "      <th>ASMA</th>\n",
       "      <th>HEMATOLOGICA</th>\n",
       "      <th>IMUNODEFICIENCIA</th>\n",
       "      <th>RENAL</th>\n",
       "      <th>NEUROLOGICA</th>\n",
       "      <th>GESTANTE_ALTO_RISCO</th>\n",
       "      <th>CARDI_DESCOMP</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2971253</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2971254</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2971255</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2971256</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2971257</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2971258 rows × 22 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        CARDI IMUNOSSUPRESSAO RESP_DESCOMP OBESIDADE DIABETES CARDIOVASC  \\\n",
       "0         NaN             NaN          NaN       NaN      NaN        NaN   \n",
       "1         NaN             NaN          NaN       NaN      NaN        NaN   \n",
       "2        True             NaN          NaN       NaN      NaN        NaN   \n",
       "3         NaN             NaN          NaN       NaN      NaN        NaN   \n",
       "4         NaN             NaN          NaN       NaN      NaN        NaN   \n",
       "...       ...             ...          ...       ...      ...        ...   \n",
       "2971253   NaN             NaN          NaN       NaN      NaN        NaN   \n",
       "2971254   NaN             NaN          NaN       NaN      NaN        NaN   \n",
       "2971255   NaN             NaN          NaN       NaN      NaN       True   \n",
       "2971256   NaN             NaN          NaN       NaN      NaN        NaN   \n",
       "2971257   NaN             NaN          NaN       NaN      NaN        NaN   \n",
       "\n",
       "        MELLITUS GESTANTE CROMOSSOM_FRAG_IMUNO OUTROS  ... PUERPERA DOWN  \\\n",
       "0            NaN      NaN                  NaN    NaN  ...      NaN  NaN   \n",
       "1            NaN      NaN                  NaN    NaN  ...      NaN  NaN   \n",
       "2            NaN      NaN                  NaN    NaN  ...      NaN  NaN   \n",
       "3            NaN      NaN                  NaN    NaN  ...      NaN  NaN   \n",
       "4            NaN      NaN                  NaN    NaN  ...      NaN  NaN   \n",
       "...          ...      ...                  ...    ...  ...      ...  ...   \n",
       "2971253      NaN      NaN                  NaN    NaN  ...      NaN  NaN   \n",
       "2971254      NaN      NaN                  NaN    NaN  ...      NaN  NaN   \n",
       "2971255     True      NaN                  NaN    NaN  ...      NaN  NaN   \n",
       "2971256      NaN      NaN                  NaN    NaN  ...      NaN  NaN   \n",
       "2971257      NaN      NaN                  NaN    NaN  ...      NaN  NaN   \n",
       "\n",
       "        HEPATICA ASMA HEMATOLOGICA IMUNODEFICIENCIA RENAL NEUROLOGICA  \\\n",
       "0            NaN  NaN          NaN              NaN   NaN         NaN   \n",
       "1            NaN  NaN          NaN              NaN   NaN         NaN   \n",
       "2            NaN  NaN          NaN              NaN   NaN         NaN   \n",
       "3            NaN  NaN          NaN              NaN   NaN         NaN   \n",
       "4            NaN  NaN          NaN              NaN   NaN         NaN   \n",
       "...          ...  ...          ...              ...   ...         ...   \n",
       "2971253      NaN  NaN          NaN              NaN   NaN         NaN   \n",
       "2971254      NaN  NaN          NaN              NaN   NaN         NaN   \n",
       "2971255      NaN  NaN          NaN              NaN   NaN         NaN   \n",
       "2971256      NaN  NaN          NaN              NaN   NaN         NaN   \n",
       "2971257      NaN  NaN          NaN              NaN   NaN         NaN   \n",
       "\n",
       "        GESTANTE_ALTO_RISCO CARDI_DESCOMP  \n",
       "0                       NaN           NaN  \n",
       "1                       NaN           NaN  \n",
       "2                       NaN           NaN  \n",
       "3                       NaN           NaN  \n",
       "4                       NaN           NaN  \n",
       "...                     ...           ...  \n",
       "2971253                 NaN           NaN  \n",
       "2971254                 NaN           NaN  \n",
       "2971255                 NaN           NaN  \n",
       "2971256                 NaN           NaN  \n",
       "2971257                 NaN           NaN  \n",
       "\n",
       "[2971258 rows x 22 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cond_expanded"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "21b8ed1a-e862-43fd-89ca-dbb79ab53d03",
   "metadata": {},
   "outputs": [],
   "source": [
    "cond_expanded.to_csv('condi.csv', sep = ';', index = False)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
